﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.ComponentModel;
using Microsoft.SharePoint;

namespace TPG.SharePoint.Workflow
{
    public abstract class TaskDataProvider
    {
        SPListItem _listItem;

        protected SPListItem ListItem
        {
            get { return _listItem; }
        }

        protected TaskDataProvider(SPListItem listItem)
        {
            _listItem = listItem;
        }

        public abstract PropertyDescriptor[] BuildDescriptors();
        public abstract void SetValue(string name, object value);
        public abstract object GetValue(string name);
        
        internal abstract void CommitTask();
    }
}
